/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

/**
 *
 * @author diego
 */
@Entity
public class Butaca implements Serializable , Comparable {
    
    /* Atributos */
    @Id
    @Column(name="BUTACA_ID")
    private Integer id;
    
    @ManyToOne
    @JoinColumn(name="FILA_ID")
    private Fila fila;
    
    
    @Basic
    private String identificador;
    
    @Basic
    private String nro;
    
    @Basic
    private boolean estado;
    
    /* Constructores */
    
    //        this.identificador = this.unaFila.getMiSeccion().getCodigo()+"-"+this.unaFila.getNro()+"-"+this.nro;
      
    public Butaca() {
    }

    public Butaca(Integer id, Fila unaFila, String nro, boolean estado) {
        this.id = id;
        this.fila = unaFila;
        this.identificador = unaFila.seccionNro()+"-"+nro;
        this.nro = nro;
        this.estado = estado;
    }

    /* Set y Get */
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Fila getUnaFila() {
        return fila;
    }

    public void setUnaFila(Fila unaFila) {
        this.fila = unaFila;
    }

    public String getIdentificador() {
        return identificador;
    }

    public void setIdentificador(String identificador) {
        this.identificador = identificador;
    }

    public String getNro() {
        return nro;
    }

    public void setNro(String nro) {
        this.nro = nro;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }
    
    public void deshabilitar(){
        this.setEstado(false);
    }
    
    public void habilitar(){
        this.setEstado(true);
    }
    @Override
    public String toString(){
        return this.identificador;
    }

    @Override
    public int compareTo(Object o) {
        Butaca butaca = (Butaca) o;
        return this.getIdentificador().compareToIgnoreCase(butaca.getIdentificador());
    } 
    
    
      
}
